/*************************************************************************
	> File Name: P1303.cpp
	> Author: yufangze
	> Mail: 2224590123@qq.com
	> Created Time: 2024-12-12 16:59:39
 ************************************************************************/

#include <iostream>
#include <set>
#include <map>
#include <vector>
#include <algorithm>
using namespace std;

class BigInt : public vector<int> {
public:
    BigInt() {push_back(0);}
    BigInt(int x) {
        push_back(x);
        proccess_digit();
    }

    BigInt &operator*=(const BigInt &a) {
        BigInt ret;
        int len = size() + a.size() + 1;
        for (int i = 0; i < len; i++) ret.push_back(0);
        for (int i = 0; i < size(); i++) {
            for (int j = 0; j < a.size(); j++) {
                ret[i + j] += at(i) * a[j];
            }
        }
        *this = ret;
        proccess_digit();
        return *this;
    }

    BigInt operator*(const BigInt &a) {
        BigInt ret(*this);
        ret *= a;
        return ret;
    }

private:
    void deal_zero() {
        while (size() > 1 && back() == 0) pop_back();
    }

    void proccess_digit() {
        for (int i = 0; i < size(); i++) {
            if (at(i) < 10) continue;
            if (i + 1 == size()) push_back(0);
            at(i + 1) += at(i) / 10;
            at(i) %= 10;
        }
        deal_zero();
        return ;
    }
};

istream &operator>>(istream &in, BigInt &x) {
    string str;
    in >> str;
    x.clear();
    for (int i = str.size() - 1; i >= 0; i--) {
        x.push_back(str[i] - '0');
    }
    return in;
}

ostream &operator<<(ostream &out, const BigInt &a) {
    for (int i = a.size() - 1; i >= 0; i--) {
        out << a[i];
    }
    return out;
}

int main() {
    BigInt a, b;
    cin >> a >> b;
    cout << a * b << endl;
    return 0;
}
